home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 19 / CD_ASCQ_19_010295.iso / dos / prg / pas / swag / crc.swg / 0016_Normalize CRC Calculation.pas < prev    next >
Pascal/Delphi Source File  |  1994-05-26  |  752b  |  28 lines

  1.  
  2. {
  3. From what I gather from these two routines, in order to "Normalize" a crc
  4. value, you must reverse the order of the four bytes in the value.
  5.  
  6. Example: crc value =  $01020304
  7.          normalized = $04030201
  8.  
  9. Am I correct in assuming this?
  10.  
  11. If so, the two procedures above fail to perform that task, so here is a BASM
  12. routine that I have tested and works perfectly.
  13. }
  14.  
  15. Procedure Normalize(Var crc: LongInt); Assembler;
  16. ASM
  17.      LES   DI, crc
  18.      MOV   AX, WORD PTR ES:[DI]
  19.      MOV   BX, WORD PTR ES:[DI + 2]
  20.      XCHG  AH, AL
  21.      XCHG  BH, BL
  22.      MOV   WORD PTR ES:[DI + 2], AX
  23.      MOV   WORD PTR ES:[DI], BX
  24. End;
  25.  
  26. Please forward a copy of your response to Serge Paquin who wrote the original
  27. request for CRC routines.
  28.